Method of changing identified type of touching object

ABSTRACT

A method of changing the identified type of a touching object is provided. The touching object is on a touch pad. The method includes the following steps: (A) when the type of the touching object is determined as a palm, determining the type of the touching object again; (B) when the type of the touching object is determined as a finger in step (A), informing the operating system that the touching object has left the touch pad when the touching object does not leave the touch pad; and (C) after step (B) is done, informing the operating system that the type of the touching object is a finger.

BACKGROUND OF THE INVENTION 1. Field of the Invention

The present invention relates to a touch pad, and more particularly, toa method of changing an identified type of a touching object on thetouch pad.

2. Description of the Prior Art

Touch pads are widely used in laptop computers to control the cursor onthe screen. The controller for the touch pad can identify the touchingobject on the touch pad. When the touching object is identified as afinger, the touching object may perform operation such as cursorcontrol, click or other gesture operations. When the touching object isidentified as a palm, the contact of the touching object is determinedas an unintentional contact, thus the touching object could not performinput functions on the touch pad. Therefore, if the touching object is afinger but incorrectly identified as a palm by the controller, it maycause great inconvenience to users.

SUMMARY OF THE INVENTION

Therefore, an object of the present invention is to provide a method ofchanging an identified type of a touching object and an associatedcontroller, to improve the above issue in the prior art.

At least one embodiment of the present invention provides a method ofchanging an identified type of a touching object. The touching object islocated on a touch pad. The method comprises following steps: (A) whenthe type of the touching object is determined as a palm, determining thetype of the touching object again; (B) when the type of the touchingobject is determined as a finger in step (A), informing the operatingsystem that the touching object has left the touch pad when the touchingobject does not leave the touch pad; and (C) after step (B) isperformed, informing the operating system that the type of the touchingobject is a finger.

At least one embodiment of the present invention provides a controllerwhich is coupled to detect a touch pad in a computer system. Thecomputer system comprises an operating system. The controller comprisesa storage medium for storing multiple instructions, and a processor forexecuting the multiple instructions to perform following steps: (A) whenthe type of a touching object on the touch pad is determined as a palm,determining the type of the touching object again; (B) when the type ofthe touching object is determined as a finger in step (A), informing theoperating system that the touching object has left the touch pad whenthe touching object does not leave the touch pad; and (C): after step(B) is performed, informing the operating system that the type of thetouching object is the finger.

One of the advantages provided by the present invention is that theoperating experience on touch pads can be greatly improved for users.

These and other objectives of the present invention will no doubt becomeobvious to those of ordinary skill in the art after reading thefollowing detailed description of the preferred embodiment that isillustrated in the various figures and drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a flowchart illustrating a method of changing an identifiedtype of a touching object according to an embodiment of the presentinvention.

FIG. 2 is a diagram illustrating a computer system according to anembodiment of the present invention.

DETAILED DESCRIPTION

The present invention provides a method of changing the identified typeof a touching object which is on a touch pad. The identified type of thetouching object is reported to an operating system (OS) of a host. Thehost can be, for example, a smartphone, tablet, laptop computer, desktopcomputer, and so on. The operating system may be, for example, Microsoftwindows operating system, which supports the Precision Touchpad Protocol(PTP). The method and flow described in following descriptions can beimplemented by software and/or firmware. For example, the method ofpresent invention may be implemented with firmware of a controller for atouch pad, or driver for the touch pad. Any method or means that utilizethe same invention concept should fall in the scope of the presentinvention.

In an embodiment, the controller for the touch pad reports contactinformation of the touch pad to the operating system every predeterminedperiod. Based on the PTP, the contact information comprises parameterslisted in the table below:

Parameters Meaning Contact ID Represent the number of the touchingobject. X X-axis coordinate of the touched location. Y Y-axis coordinateof the touched location. Tip Represent the touch state. If the touch padis touched, Tip = 1; otherwise, Tip = 0. Confidence Represent the typeof the touching object. If the touching object is a palm, Confidence =0; if the touching object is a finger, Confidence = 1.

The operating system refers to the Confidence value in the contactinformation to determine the type of the touching object. If the valueof Confidence is 1, it means the type of the touching object is afinger, and the contact made by the touching object is not anunintentional contact, thus the operating system accepts the input madeby the touching object on the touch pad. On the other hand, if the valueof Confidence is 0, it means that the type of the touching object is apalm and the operating system regards the contact made by the touchingobject as an unintentional contact, thus the input made by the touchingobject is ignored. Based on the PTP specification of Microsoft, if thetype of a touching object is determined as a palm, the operating systemwill always regard the touching object as a palm before the touchingobject leaves the touch pad. Hence, if a user's finger which is touchingthe touch pad is wrongly determined as a palm, this wrong determinationcannot be corrected immediately based on the PTP. More specifically, theoperating system will always regard the finger as a palm, making thefinger unable to perform any touch input on the touch pad. Thislimitation causes great inconveniences to the user. If the user wishesto perform input operations on the touch pad, the user's finger mustleave the touch pad and then contacts the touch pad again. By this way,the controller for the touch pad may re-determine the type of thetouching object again. After the type of the touching object isdetermined as a finger, this information will be informed to theoperating system, so that the user is able to perform input operationson the touch pad.

Since there are various public methods for determining a type of atouching object, such as the US patent application with a publicationnumber of US 20160054831, the detailed descriptions of how to determinea type of a touching object are omitted here for brevity.

Please refer to FIG. 1, which is a flowchart illustrating a method ofchanging an identified type of a touching object according to thepresent invention. The detailed descriptions are as follows.

Step 14: Determine the type of the touching object.

Step 16: Inform the operating system that the touching object has leftthe touch pad when the touching object does not leave the touch pad.

Step 18: Inform the operating system that the type of the touchingobject is a finger.

Step 19: Inform the operating system that the type of the touchingobject is a palm.

The above method of FIG. 1 describes the operations in a case that thetype of the touching object is determined as a palm. In an embodiment,the controller for the touch pad stores the Confidence value of thecontact information sent to the operating system. By checking thisstored Confidence value, the controller for the touch pad may knowwhether the type of the touching object is currently determined as apalm or a finger.

When the type of the touching object is determined as a palm, the flowgoes to Step 14 to determine the type of the touching object again. WhenStep 14 determines that the type of the touching object is a finger, itmeans that the previous determining result of the type of the touchingobject is incorrect, or the state of the touching object contacting thetouch pad has changed, such as changing from the state a finger isflatly placed on a touch pad to the state the finger is erected on thetouch pad. Comparatively, the flatly placed finger has a larger contactarea on the touch pad than the erected finger. A larger contact area maygenerally be regarded as an unintentional touch. Hence, in most cases,the controller for the touch pad might determine a flatly-placed fingeras a palm.

After the type of the touching object is determined as a finger in Step14, the flow goes to Step 16 which informs the operating system that thetouching object has left the touch pad. Please note that the touchingobject does not actually leave the touch pad during the entire process.The purpose of Step 16 is to make the operating system believe thetouching object has left the touch pad. For example, Contact ID of thetouching object may be 1. In Step 16, the controller for the touch padsets the Tip value in the contact information sent to the operatingsystem as 0. Therefore, according to “Contact ID=1 and Tip=0” providedin the contact information, the operating system may determine that thetouching object has left the touch pad.

After Step 16 is finished, the Step 18 is performed to inform theoperating system that the type of the touching object is a finger. In anembodiment of Step 18, the controller for the touch pad sends contactinformation to the operating system. In this contact information, theConfidence value is 1, and the Tip value is 1. According to the contactinformation, the operating system now determines the touching object,which is previously determined as a palm, as a new touching object, anddetermines the type of the touching object as a finger.

Steps 16 and 18 follows the PTP. In the flow of FIG. 2, the touchingobject never actually leaves the touch pad. The purpose of the presentinvention is to make the operating system believe that the touchingobject has left the touch pad, and the touch pad is contacted by anothernew touching object, and the type of the new touching object is afinger. After the operating system determines the type of the touchingobject as a finger, the touching object (e.g. the user's finger) mayperform input operations on the touch pad, without the need for actuallyleaving the touch pad. It is more convenient to user.

In one embodiment, Step 14 may further comprise following steps:

Step 142: Determine whether the touching object comprises one or morefinger features. If yes, the flow goes to Step 144; otherwise, the flowgoes to Step 146.

Step 144: Increase the count value.

Step 146: Decrease the count value.

Step 148: Determine whether the count value is larger than a thresholdvalue. If yes, the flow goes to Step 16; otherwise, the flow goes toStep 19.

In an embodiment, the initial value of the count value is 0, and thethreshold value is 9. When Step 142 determines that the touching objectcomprises one or more finger features, Step 144 will be performed to add1 to the count value; otherwise, Step 146 will be performed to subtract1 from the count value. Step 148 further compares the count value withthe threshold value. When the count value is larger than the thresholdvalue, it is certain that the touching object is a finger, and Step 16will be performed next. Otherwise, Step 19 will be performed next tokeep Confidence value as 0 and to inform the operating system that thetouching object is a palm. After Step 19, Step 14 is performed againwith the adjusted count value to continuously confirm the type of thetouching object. When the type of the touching object is determined as afinger in Step 14, the count value is reset to the initial value 0. Asstated in FIG. 1, the type of the touching object is determined as afinger only when the touching object is determined as having one or morefinger features for a plurality of times. Such mechanism may help reducethe possibility of wrong determination.

Steps 144 and 146 refer to the determining result of Step 142 to adjustthe count value. In other embodiments, the initial value may be set as11, and the threshold value may be 1. When Step 142 determines that thetouching object comprises one or more finger features, the count valueis subtracted by 1; otherwise, the count value is added by 1. When thecount value is smaller than the threshold value, the flow goes to Step16; otherwise, the flow goes to Step 19.

Step 142 is applied to identify whether the type of the touching objectis possibly a finger. There are various ways to implement Step 142. Forexample, the US patent application with the No. US 20160054831 disclosesthat a method of determining whether the touching object comprises afinger feature comprises obtaining the sizes of a contact area and ahover area of the touching object on the touch pad, and determining thetouching object as a finger if the ratio of the hover area to thecontact area is smaller than a predetermined ratio. In other words, thisrelated art technique determines the type of the touching object byreferring to the ratio of the hover area to contact area of the touchingobject. When the ratio is smaller than a predetermined ratio, thetouching object is determined as having a finger feature. In thisrelated art technique, the hover area represents the area where theobject is located nearby without physically touching the touch pad. Ingeneral, the ratio of hover area to the contact area of a finger issmaller than that of a palm. Hence, the ratio of the hover area to thecontact area of an object can be used to identify the type of theobject.

In another embodiment of Step 142, the method of determining whether thetouching object comprises one or more finger features may compriseobtaining the contact area of the touching object on the touch pad, andthen determining whether the contact area is smaller than an areathreshold. In this example, the contact area of the touching object iscompared with an area threshold. When the contact area is smaller thanthe area threshold, the touching object is determined as comprising oneor more finger features. In general, the contact area between the palmand the touch pad is larger. Based on this concept, the contact area ofan object may be used to identify the type of the object.

In another embodiment, methods of determining whether the touchingobject comprises one or more finger features may comprise obtaining amoving distance of the touching object, and determine whether the movingdistance is larger than a predetermined distance. In this embodiment,the moving distance of the touching object is compared with apredetermined distance. When the moving distance is larger than thepredetermined distance, the touching object is determined to compriseone or more finger features. In general, the contact of the palm on thetouch pad is an unintentional contact, thus such contact always has noobvious movement. On the contrary, using a finger to perform cursorcontrols may generate a movement with a larger moving distance. Hence, amoving distance of an object may be used to identify the type of theobject.

In the above embodiment(s) of the present invention, various steps areexecuted by the controller for the touch pad. However, in otherembodiments, part or all of each step mentioned in the present inventionmay also be implemented by the controller for the touch pad, the driverfor the touch pad or other application programs.

As illustrated above, based on the present invention, the method ofchanging the identified type of the touching object may be briefed asthe following steps.

-   (A) When the type of the touching object is determined as a palm,    determine the type of the touching object again;-   (B) When the type of the touching object is determined as a finger    in the step (A), inform the operating system that the touching    object has left the touch pad when the touching object does not    leave the touch pad; and-   (C) After the step (B) is performed, inform the operating system    that the type of the touching object is a finger.

FIG. 2 is a schematic diagram illustrating a computer system 2 accordingto an embodiment of the present invention. The computer system 2 adoptsthe method shown in FIG. 1. The computer system 2 comprises an operatingsystem 21, a touch pad 22, and a controller 24. The touch pad 22 isarranged to receive inputs from an object (e.g. a finger or a palm). Thecontroller 24 is coupled to the touch pad 22. The controller 24 isarranged to detect the touch pad 22 and report the touch information(e.g. the number of touching objects, types of touching objects, etc.)obtained by detecting the touch pad 22 to the operating system. In thisembodiment, the controller 24 is arranged to execute each step shown inFIG. 1. The controller 24 comprises a processor 242 and a storage medium244. The storage medium 244 may be a read-only memory (ROM) or flashmemory. The storage medium 244 stores multiple instructions forexecution by the processor 242. The multiple instructions are used torespectively achieve Step 14, 16, 18 and 19 shown in FIG. 1. Viaexecuting the multiple instructions by the processor 242, the controller24 may perform each step shown in FIG. 1

Those skilled in the art will readily observe that numerousmodifications and alterations of the device and method may be made whileretaining the teachings of the invention. Accordingly, the abovedisclosure should be construed as limited only by the metes and boundsof the appended claims.

What is claimed is:
 1. A method of changing an identified type of atouching object located on a touch pad, the method comprising followingsteps: (A) when the type of the touching object is determined as a palm,determining the type of the touching object again; (B) when the type ofthe touching object is determined as a finger in the step (A), informingthe operating system that the touching object has left the touch padwhen the touching object does not leave the touch pad; and (C) after thestep (B) is performed, informing the operating system that the type ofthe touching object is a finger.
 2. The method of claim 1, wherein thestep (A) comprises following steps: (A1) determining whether thetouching object comprises one or more finger features: (A2) adjusting acount value after determining that the touching object has the fingerfeature in the step (A); and (A3) after the step (A2) is performed,comparing the count value with a threshold value.
 3. The method of claim2, wherein the step (A1) comprises: obtaining a contact area of thetouching object on the touch pad; determining that the contact area issmaller than an area threshold; and after the step of determining thatthe contact area is smaller than the area threshold, performing the step(A2).
 4. The method of claim 2, wherein the step (A1) comprises:obtaining a contact area and a hover area of the touching object;determining that a ratio of the hover area to the contact area issmaller than a predetermined ratio; and after the step of determiningthat the ratio of the hover area to the contact area is smaller than thepredetermined ratio, performing the step (A2).
 5. The method of claim 2,wherein the step (A1) comprises: obtaining a moving distance of thetouching object; determining that the moving distance is larger than apredetermined distance; and after the step of determining that themoving distance is larger than a predetermined distance, performing thestep (A2).
 6. A controller, coupled to a touch pad in a computer systemwith an operating system, comprising: a storage medium, storing multiplecommands; and a processor, arranged to execute the multiple commands tomake the controller perform following steps: (A) determining the type ofthe touching object again when the type of a touching object on thetouch pad is determined as a palm; (B) when the type of the touchingobject is determined as a finger in the step (A), informing theoperating system that the touching object has left the touch pad whentouching object does not leave the touch pad; and (C) after the step (B)is performed, informing the operating system that the type of thetouching object is the finger.
 7. The controller of claim 6, wherein thestep (A) comprises following steps: (A1) determining whether thetouching object comprises one or more finger features: (A2) adjusting acount value after determining that the touching object comprises one ormore finger features in the step (A1); and (A3) after the step (A2) isperformed, comparing the count value and a threshold value.
 8. Thecontroller of claim 7, wherein the step (A1) comprises: obtaining acontact area of the touching object on the touch pad; determining thatthe contact area is smaller than an area threshold; and after the stepof determining that the contact area is smaller than the area threshold,performing the step (A2).
 9. The controller of claim 7, wherein the step(A1) comprises: obtaining a contact area and a hover area of thetouching object; determining that the ratio of the hover area to thecontact area is smaller than a predetermined ratio; and after the stepof determining that the ratio of the hover area to the contact area issmaller than a predetermined ratio, performing the step (A2).
 10. Thecontroller of claim 7, wherein the step (A1) comprises: obtaining amoving distance of the touching object; determining that the movingdistance is longer than a predetermined distance; and after the step ofdetermining that the moving distance is longer than the predetermineddistance, performing the step (A2).